昨日[Day 26]-【STM32系列】UART/USART TX 資料傳送篇(上)我們體驗了UART/USART 關於用三種方法傳送資料,今天要帶大家體驗接收數據的方法,一樣我會使用這三種方法,並展現這三種方法的區別,方法如下:
再次複習三種
輪詢(Polling):就是阻塞式詢問,CPU都不幹別的事了,就整天在那邊問你說:「現在有沒有要傳資料啊?」沒有要傳我就繼續等,總是在那邊詢問、等待。這種方最土法煉鋼、這就是輪詢的缺點,效率太低,占用cpu時間。
中斷(Interrupt):沒有收到數據時,執行其他的程序,收到數據後,進入中斷處理通訊。與輪詢相對來說,不用循環查詢狀態暫存器,可以有更多的時間運行其他程序。
DMA(Direct Memory Access):直接記憶體存取。串列數據的接收與發送由DMA處理,DMA說:「我把接收、傳送的資料放在記憶體的某個位置,你如果需要就自己去那個位置提取」。DMA也可以分為輪詢與中斷方式。資料的發送與接收都不用CPU干預,通過DMA進行。 CPU有更多的時間運行其他程序。
預設STM32微控制器的PA2(TX)和PA3(RX)上的USART2端口連接到 ST-LINK 燒錄器連接到你的電腦,代表只要開啟UART2並插上USB就可以與電腦連線,如果你想用UART2與其他擴充板通訊,可以將你Nucle開發板上SB62、SB63短路, SB13、SB14開路(原始狀態SB62、SB63開路, SB13、SB14短路)。
在這種情況下,可以將其他USART端口接到ST-LINK 燒錄器, 例如,在NUCLEO-L053R8上,可以使用PA2 (TX)和PA3(RX)上的USART2。 需要連接兩條跳線:
今天一樣會用到它,hercules setup utility一個好用的Socket測試工具,我們將用它來接收、發送UART/USART數據,請先官網下載:https://www.hw-group.com/software/hercules-setup-utility
- STM32 Nucleo-64 boards (MB1136)資料手冊
https://www.st.com/resource/en/user_manual/dm00105823-stm32-nucleo-64-boards-mb1136-stmicroelectronics.pdf- STM32L053R8 datasheet
https://www.st.com/resource/en/datasheet/stm32l053r8.pdf- RM0367 Reference manual Ultra-low-power STM32L0x3 advanced Arm®-based 32-bit MCUs
https://www.st.com/resource/en/reference_manual/dm00095744-ultra-low-power-stm32l0x3-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf- ARM Mbed官網介紹 - NUCLEO-L053R8
https://os.mbed.com/platforms/ST-Nucleo-L053R8/- STM32 官網介紹 - STM32L053R8
https://www.st.com/en/microcontrollers-microprocessors/stm32l053r8.html#overview
- 此開發板售價在臺幣1000元以下,讀者可於以下網站購得:
https://www.mouser.tw/
https://www.digikey.tw/
有地震!有地震!為甚麼台灣地震直播瞬間標好幾千人啊XD!